On Designing an ACL2-Based C Integer Type Safety Checking Tool
نویسندگان
چکیده
Example Output • Type Strength – A language characteristic based on the amount of coercion (casting) permitted and performed among its data types Less coercions = stronger typing – Coercion is generally performed during compile time to insure compatibility of operator and operand types – C integer coercions are rule based Integer ranking Integer promotion rules Usual arithmetic conversions – C does not support valid range checking during the coercion process
منابع مشابه
Polymorphic Types in ACL2
This paper describes a tool suite for the ACL2 programming language which incorporates certain ideas from the Hindley-Milner paradigm of functional programming (as exemplified in popular languages like ML and Haskell), including a “typed” style of programming with the ability to define polymorphic types. These ideas are introduced via macros into the language of ACL2, taking advantage of ACL2’s...
متن کاملPythia: Automatic Generation of Counterexamples for ACL2 using Alloy
A key research problem in automated theorem proving is generating examples and counterexamples to guide the discovery of proofs. We present Pythia, a framework that connects ACL2 with the SAT-based Alloy Analyzer, a tool for solving formulas in first-order logic with transitive closure using bounded exhaustive checking. Pythia takes as inputs an Alloy model of the ACL2 type system together with...
متن کاملTerm-Level Reasoning in Support of Bit-blasting
GL is a verified tool for proving ACL2 theorems using Boolean methods such as BDD reasoning and satisfiability checking. In its typical operation, GL recursively traverses a term, computing a symbolic object representing the value of each subterm. In older versions of GL, such a symbolic object could use Boolean functions to compactly represent many possible values for integer and Boolean subfi...
متن کاملChecking ACL2 Theorems via SAT Checking
We present a procedure for checking a suitably-bounded ACL2 theorem using a SAT checker. The check is carried out by rst translating the ACL2 theorem into an equivalent theorem deened with functions which only use the primitives if, cons, car, cdr, and nil. The translated theorem on simple cons-trees is then translated to a propositional formula by a form of evaluation lifted to a certain repre...
متن کاملRabbit: Verification of Real-Time Systems
This paper gives a short overview of a model checking tool for Cottbus Timed Automata, which is a modular modeling language based on timed and hybrid automata. For timed automata, the current version of the tool provides BDD-based verification using an integer semantics. Reachability analysis as well as refinement checking is possible. To find good variable orderings it uses the component struc...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013